import { request } from '@/utils';
import qs from 'qs';

const scope = 'server';

/**
 * 用户登录-用户名密码方式
 */
export const loginByUsername = ({ username, password, code, randomStr }) => {
  const grant_type = 'password';
  let dataObj = qs.stringify({ username, password });

  return request({
    url: '/auth/oauth/token',
    headers: {
      Authorization: 'Basic cGlnOnBpZw==',
    },
    method: 'post',
    params: { randomStr, code, grant_type, scope },
    data: dataObj,
  });
};

/**
 * 查询用户信息-- 包括基本信息、 角色信息、权限信息
 */
export const getUserInfo = () => {
  return request.get('/admin/user/info');
};

/**
 * 退出登录
 */
export const loginOut = () => {
  return request.delete('/auth/token/logout');
};

// 通过已登录的 token 申请访问令牌（jwt token）
export const getJWT = (serviceId) => {
  return request.get('/admin/jwt/getJwt', { params: { serviceId } });
};
